# PromptLayer（PromptLayer）

本页介绍如何在 LangChain 中使用 [PromptLayer](https://www.promptlayer.com)。
它分为两个部分：安装和设置，以及特定 PromptLayer 包装器的参考。

## 安装和设置

如果您想使用 PromptLayer：
- 安装 promptlayer python 库 `pip install promptlayer`
- 创建一个 PromptLayer 账户
- 创建一个 API 令牌并将其设置为环境变量（`PROMPTLAYER_API_KEY`）

## 包装器

### LLM（LLM）

存在一个 PromptLayer OpenAI LLM 包装器，您可以通过以下方式访问
```python
from langchain.llms import PromptLayerOpenAI
```

要为请求添加标签，请在实例化 LLM 时使用参数 `pl_tags`
```python
from langchain.llms import PromptLayerOpenAI
llm = PromptLayerOpenAI(pl_tags=["langchain-requests", "chatbot"])
```

要获取 PromptLayer 请求 ID，请在实例化 LLM 时使用参数 `return_pl_id`
```python
from langchain.llms import PromptLayerOpenAI
llm = PromptLayerOpenAI(return_pl_id=True)
```
这将在使用 `.generate` 或 `.agenerate` 时，将 PromptLayer 请求 ID 添加到 `Generation` 的 `generation_info` 字段中

例如：
```python
llm_results = llm.generate(["hello world"])
for res in llm_results.generations:
    print("pl request id: ", res[0].generation_info["pl_request_id"])
```
您可以使用 PromptLayer 请求 ID 将提示、分数或其他元数据添加到您的请求中。[在此处阅读更多](https://magniv.notion.site/Track-4deee1b1f7a34c1680d085f82567dab9)。

这个 LLM 与 [OpenAI LLM](./openai.md) 相同，除了
- 所有的请求都将记录到您的 PromptLayer 账户中
- 您可以在实例化时添加 `pl_tags` 以在 PromptLayer 上标记您的请求
- 您可以在实例化时添加 `return_pl_id` 以返回 PromptLayer 请求 ID，以便在 [跟踪请求](https://magniv.notion.site/Track-4deee1b1f7a34c1680d085f82567dab9) 时使用


PromptLayer 还为 [`PromptLayerChatOpenAI`](/docs/modules/model_io/models/chat/integrations/promptlayer_chatopenai.html) 和 `PromptLayerOpenAIChat` 提供了原生包装器
